package com.im.server.enterprise.business.push;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.im.server.general.business.mq.MessageQueueWriteHandler;
import com.im.server.general.common.bean.TextNotice;
import com.onlyxiahui.im.message.Head;
import com.onlyxiahui.im.message.server.PushMessage;

/**
 * @author: XiaHui
 * @date: 2016年8月26日 上午9:21:41
 */
@Service
public class NoticePush {
	@Resource
	MessageQueueWriteHandler messageQueueWriteHandler;

	/**
	 * 
	 * @author: XiaHui
	 * @param key
	 * @param textNotice
	 * @param userIds
	 * @param pushType
	 * @createDate: 2017年8月25日 下午2:01:52
	 * @update: XiaHui
	 * @updateDate: 2017年8月25日 下午2:01:52
	 */
	public void pushTextNotice(String key, 
			TextNotice textNotice,
			List<String> userIds,
			String pushType) { //pushType：推送类型：1:推送给指定的用户集合userIds 2:推送给排除userIds以外的用户
		PushMessage message = new PushMessage();
		message.put("textNotice", textNotice);
		Head head = new Head();

		head.setAction("1.700");
		head.setMethod("1.2.2001");
		head.setKey(key);
		head.setTime(System.currentTimeMillis());
		message.setHead(head);
		if(null==userIds||userIds.isEmpty()){
			messageQueueWriteHandler.push(message);
		}else{
			if("1".equals(pushType)){
				messageQueueWriteHandler.push(userIds, message);
			}else{
				messageQueueWriteHandler.pushWithout(userIds, message);
			}
		}
	}
}
